package org.go.ee.jmx.middle.jboss;

import org.jboss.system.ServiceMBean;

/**
 * Interface exposed via JMX for MBean for configuring, starting, and
 * binding to JNDI a Quartz Scheduler instance.
 *  
 * <p> 
 * Sample MBean deployment descriptor: 
 * <a href="doc-files/quartz-service.xml" type="text/plain">quartz-service.xml</a>
 * </p>
 * 
 * <p> 
 * <b>Note:</b> The Scheduler instance bound to JNDI is not Serializable, so 
 * you will get a null reference back if you try to retrieve it from outside
 * the JBoss server in which it was bound.  If you have a need for remote 
 * access to a Scheduler instance you may want to consider using Quartz's RMI 
 * support instead.  
 * </p>
 * 
 * @see org.go.ee.jmx.jboss.GoService
 * 
 * @author hejie
 */
public interface GoJmxServiceMBean extends ServiceMBean {

	void setJndiName(String jndiName) throws Exception;

	String getJndiName();

	void setProperties(String properties);

	void setPropertiesFile(String propertiesFile);

	void setStartScheduler(boolean startScheduler);
}
